using System;
using System.Data.Entity.ModelConfiguration;
using System.Data.Common;
using System.Data.Entity;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Dal.Entities;

namespace Dal.Mapping
{
	public class Doc3Map : EntityTypeConfiguration<Doc3>
	{
		public Doc3Map()
		{
			// Primary Key
			this.HasKey(t => t.DocID);

			// Properties
			this.Property(t => t.DocID)
				.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
				
			this.Property(t => t.DoseDoc3)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionDoseOtherDoc3)
				.HasMaxLength(50);
				
			this.Property(t => t.SuggestDoc3)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionSuggestAddDoc3)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionSuggestReduceDoc3)
				.HasMaxLength(50);
				
			this.Property(t => t.AdditionSuggestOtherDoc3)
				.HasMaxLength(50);
				
			// Table & Column Mappings
			this.ToTable("Doc3");
			this.Property(t => t.DocID).HasColumnName("DocID");
			this.Property(t => t.VisitDateDoc3).HasColumnName("VisitDateDoc3");
			this.Property(t => t.DoseDoc3).HasColumnName("DoseDoc3");
			this.Property(t => t.AdditionDoseOtherDoc3).HasColumnName("AdditionDoseOtherDoc3");
			this.Property(t => t.PHQ9C1Doc3).HasColumnName("PHQ9C1Doc3");
			this.Property(t => t.PHQ9C2Doc3).HasColumnName("PHQ9C2Doc3");
			this.Property(t => t.PHQ9C3Doc3).HasColumnName("PHQ9C3Doc3");
			this.Property(t => t.PHQ9C4Doc3).HasColumnName("PHQ9C4Doc3");
			this.Property(t => t.PHQ9C5Doc3).HasColumnName("PHQ9C5Doc3");
			this.Property(t => t.PHQ9C6Doc3).HasColumnName("PHQ9C6Doc3");
			this.Property(t => t.PHQ9C7Doc3).HasColumnName("PHQ9C7Doc3");
			this.Property(t => t.PHQ9C8Doc3).HasColumnName("PHQ9C8Doc3");
			this.Property(t => t.PHQ9C9Doc3).HasColumnName("PHQ9C9Doc3");
			this.Property(t => t.PHQ9C10Doc3).HasColumnName("PHQ9C10Doc3");
			this.Property(t => t.Remit5C1Doc3).HasColumnName("Remit5C1Doc3");
			this.Property(t => t.Remit5C2Doc3).HasColumnName("Remit5C2Doc3");
			this.Property(t => t.Remit5C3Doc3).HasColumnName("Remit5C3Doc3");
			this.Property(t => t.Remit5C4Doc3).HasColumnName("Remit5C4Doc3");
			this.Property(t => t.Remit5C5Doc3).HasColumnName("Remit5C5Doc3");
			this.Property(t => t.Remit5C6Doc3).HasColumnName("Remit5C6Doc3");
			this.Property(t => t.SuggestDoc3).HasColumnName("SuggestDoc3");
			this.Property(t => t.AdditionSuggestAddDoc3).HasColumnName("AdditionSuggestAddDoc3");
			this.Property(t => t.AdditionSuggestReduceDoc3).HasColumnName("AdditionSuggestReduceDoc3");
			this.Property(t => t.AdditionSuggestOtherDoc3).HasColumnName("AdditionSuggestOtherDoc3");
			this.Property(t => t.StatusAudit).HasColumnName("StatusAudit");
			this.Property(t => t.StatusComplete).HasColumnName("StatusComplete");
			this.Property(t => t.VisitorID).HasColumnName("VisitorID");
		}
	}
}

